# Convert PanelBuilder 1400e Expressions

Some PanelBuilder expression syntax is not supported in FactoryTalk View Studio's expression language. Therefore PanelBuilder 1400e expressions are converted to Machine Edition without being modified, and are then disabled. Warning text is placed at the beginning of each expression, and exclamation points (!) are placed at the beginning of each subsequent line.

Some PanelBuilder 1400e objects support both tags and expressions. For these objects, if the text assigned to a connection could be valid syntax for both a tag and an expression, the connection is treated as an expression, and is therefore disabled.

For example, N20-0_String_64 could be the name of a tag, or it could be an expression that subtracts "0_String_64" from the tag "N20." The text would be converted as a disabled expression.

## To enable a converted expression

1. Select the object containing the expression.
2. Open the object's Property Panel and click the Connections tab.
3. In the Exprn column, click the Browse button beside the expression.
4. In the Expression editor, delete the warning text and the exclamation marks.
5. Click Check Syntax.

If necessary, revise the expression to use FactoryTalk View expression language.

## Equivalent expression syntax

Type of expression component or operator | PanelBuilder 1400e syntax | Equivalent FactoryTalk View syntax (if any)
Comment | REM or ’ | !
Line continuation | _ (underscore) | not needed
Equality | ( = ) | EQ or ==
Bitwise Not Bitwise And Bitwise Or Bitwise Xor If both operands are Byte, Integer, Long, Variant, or any combination of these data types, use the FactoryTalk View syntax. For other data types, no change is needed. | Not And Or Xor | ~ (tilde) & | (pipe) ^
Exit statement | Exit | not needed
Local variables | DIM varname AS ... varname = |
Integer division | \ | (x - (x MOD y))/y
Endif | If then endif If then else endif | If then else 0 If then else
Select case | SelectCase Case1...CaseN CaseElse EndSelect | Use nested if then else
Logical Xor (if one or both operands are Boolean or Single data types) | Xor | NOT ((x AND y) OR NOT (x OR y))

## Order of precedence

The order of precedence is slightly different in FactoryTalk View. Check your expressions to make sure the result is what you intend.

PanelBuilder 1400e order of precedence | FactoryTalk View order of precedence
( ) | ( )
- (negation) | NOT, ~ (tilde)
*, / (floating point division) | *, /, MOD, %, **, AND, &&, &, >>, <<
\ (integer division) | +, -, OR, ||, |, ^
Mod | EQ, ==, NE, <>, LT, <, GT, >, LE, <=, GE, >=
+, - (subtraction) |
=, <>, <, >, <=, >= |
Not |
And |
Or |
Xor |

## See also

PanelBuilder 1400e Objects and Features Not Converted to ME

PanelBuilder 1400e to Machine Edition object mappings

About expressions

Operator precedence in expressions